home *** CD-ROM | disk | FTP | other *** search
- package com.ibm.ivb.jface.jfacex;
-
- import com.ibm.ivb.jface.config.DataBlock;
- import com.ibm.xml.parser.Parent;
- import com.ibm.xml.parser.TXElement;
- import java.util.Enumeration;
- import java.util.Hashtable;
- import java.util.Vector;
- import org.w3c.dom.Node;
- import org.w3c.dom.NodeList;
-
- public class XMLDataBlock extends TXElement implements DataBlock {
- private Hashtable cache;
- private static boolean parsingTime;
-
- public XMLDataBlock(String var1, String var2) {
- super(var1);
- this.setName(var2);
- }
-
- private void buildCache() {
- this.cache = new Hashtable();
- NodeList var1 = ((Parent)this).getChildNodes();
-
- for(int var2 = 0; var2 < var1.getLength(); ++var2) {
- Node var3 = var1.item(var2);
- if (var3.getNodeType() == 1) {
- TXElement var4 = (TXElement)var3;
- String var5 = var4.getTagName();
- String var6 = var4.getAttribute("name");
- if (var5.equals("param")) {
- this.cache.put(var6, var4.getAttribute("value"));
- } else if (!var5.equals("plist")) {
- String var12 = var5;
- if (var6 != null) {
- var12 = var5 + "." + var6;
- }
-
- this.cache.put(var12, var4);
- } else {
- Vector var7 = new Vector();
- NodeList var8 = ((Parent)var4).getChildNodes();
-
- for(int var9 = 0; var9 < var1.getLength(); ++var9) {
- Node var10 = var8.item(var9);
- if (var10 instanceof TXElement) {
- TXElement var11 = (TXElement)var10;
- if (var11.getTagName().equals("item")) {
- var7.addElement(var11.getAttribute("value"));
- }
- }
- }
-
- this.cache.put(var6, var7);
- }
- }
- }
-
- }
-
- public String getName() {
- return parsingTime ? super.getName() : ((TXElement)this).getAttribute("name");
- }
-
- public Object getParameter(String var1) {
- if (this.cache == null) {
- this.buildCache();
- }
-
- return this.cache.get(var1);
- }
-
- public Enumeration getParameterNames() {
- if (this.cache == null) {
- this.buildCache();
- }
-
- return this.cache.keys();
- }
-
- public String getType() {
- return ((TXElement)this).getTagName();
- }
-
- public void setName(String var1) {
- ((TXElement)this).setAttribute("name", var1);
- }
-
- static void setParsingTime(boolean var0) {
- parsingTime = var0;
- }
- }
-